The Transmission Control Protocol (TCP) regulates the flow of packets between two networking endpoints over the Internet. The TCP protocol is designed so that the two endpoints can regulate packet flow between them and adjust the flow according to the congestion in the network without involving intermediate network nodes. The TCP protocol has proven robust for a variety of networks and link characteristics. See, for example, Hari Balakrishnan et al., “A Comparison of Mechanisms for Improving TCP Performance Over Wireless Links,” IEEE ACM Trans. On Networking, Vol. 5, Issue 6, 756-769 (December 1997).
Under certain network conditions, however, the TCP protocol flow control can result in an overall packet throughput that is less than optimal. In the case of a wireless link, for example, packet losses can often occur due to poor radio propagation characteristics. The packet loss is often due to packets colliding on the wireless link, which is typically the final segment of the end-to-end connection. In response, however, the transmitter at the originating endpoint will reduce the transmission rate, thereby unnecessarily degrading performance of the entire end-to-end connection.
A need therefore exists for improved techniques for recovering from packet loss in an end-to-end network connection having at least one wireless segment.